package com.gopay.solution.domain.po;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

import com.gopay.common.domain.BaseEntity;

/**
 * 方案元数据po基类
 * 
 * @SolutionMeta.java
 * @author MA HUAN
 * @2013-3-22 下午4:08:38 www.gopay.com.cn Inc.All rights reserved.
 */
@MappedSuperclass
public abstract class SolutionMeta extends BaseEntity {

    private static final long serialVersionUID = 4311507565661861222L;

    /**
     * 方案主键id
     */
    @Id
    @Column(name = "SOLUTION_ID", unique = true, nullable = false, precision = 22, scale = 0)
    private long solutionId;

    /**
     * 方案代码
     */
    @Column(name = "SOLUTION_CODE", nullable = false, precision = 22, scale = 0)
    private long solutionCode;

    /**
     * 方案名称
     */
    @Column(name = "SOLUTION_NAME", nullable = false, length = 50)
    private String solutionName;

    /**
     * 方案版本
     */
    @Column(name = "SOLUTION_VERSION", nullable = false, precision = 22, scale = 0)
    private long solutionVersion;

    /**
     * 方案描述
     */
    @Column(name = "SOLUTION_DESC", nullable = true, length = 500)
    private String solutionDesc;

    /**
     * 创建时间
     */
    @Column(name = "CREATED_TS", nullable = false)
    private Date createTime;

    /**
     * 最后更新时间
     */
    @Column(name = "LAST_UPD_TS", nullable = false)
    private Date lastUpdTime;

    /**
     * 最后修改交易码
     */
    @Column(name = "LAST_UPD_TRANCODE", nullable = true, length = 10)
    private String lastUpdTranCode;
    
    /**
     * 方案生效日期，如果为空，表示该方案不涉及有效期
     */
    @Column(name = "START_DATE", nullable = true, length = 8)
    private String startDate;
    
    /**
     * 方案失效日期，如果为空，表示该方案不涉及有效期
     */
    @Column(name = "END_DATE", nullable = true, length = 8)
    private String endDate;
    
    

    public long getSolutionId() {
        return solutionId;
    }

    public void setSolutionId(long solutionId) {
        this.solutionId = solutionId;
    }

   
    public long getSolutionCode() {
        return solutionCode;
    }

    public void setSolutionCode(long solutionCode) {
        this.solutionCode = solutionCode;
    }

    
    public String getSolutionName() {
        return solutionName;
    }

    public void setSolutionName(String solutionName) {
        this.solutionName = solutionName;
    }

    public long getSolutionVersion() {
        return solutionVersion;
    }

    public void setSolutionVersion(long solutionVersion) {
        this.solutionVersion = solutionVersion;
    }

    public String getSolutionDesc() {
        return solutionDesc;
    }

    public void setSolutionDesc(String solutionDesc) {
        this.solutionDesc = solutionDesc;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getLastUpdTime() {
        return lastUpdTime;
    }

    public void setLastUpdTime(Date lastUpdTime) {
        this.lastUpdTime = lastUpdTime;
    }

    public String getLastUpdTranCode() {
        return lastUpdTranCode;
    }

    public void setLastUpdTranCode(String lastUpdTranCode) {
        this.lastUpdTranCode = lastUpdTranCode;
    }

	public String getStartDate() {
		return startDate;
	}

	public void setStartDate(String startDate) {
		this.startDate = startDate;
	}

	public String getEndDate() {
		return endDate;
	}

	public void setEndDate(String endDate) {
		this.endDate = endDate;
	}

}
